package com.edu.xuanxuan;

import org.testng.annotations.Test;

import io.appium.java_client.AppiumBy;
import io.appium.java_client.TouchAction;
import io.appium.java_client.touch.offset.PointOption;

public class Xuanxuan extends BaseTest {

	@Test
	public void homeTest() throws InterruptedException {

		// 1点击通讯录
		Thread.sleep(3000);
		
		/**
		 * 遗留问题：
		 * TouchAction方法目前已经被抛弃，虽然能正常使用且可以定位到元素
		 * 但是随着版本更新可能以后无法使用，需找到可以代替TouchAction的方法??
		 */
		
		TouchAction action1 = new TouchAction(driver);
		PointOption po1 = new PointOption();
//		po.withCoordinates(300, 325);
		po1.withCoordinates(444, 1540);
		action1.tap(po1).perform().release();
		Thread.sleep(2000);

		// 点击第一个admin
		TouchAction action2 = new TouchAction(driver);
		PointOption po2 = new PointOption();
		po2.withCoordinates(260, 431);
		action2.tap(po2).perform().release();

		// 返回通讯录
		driver.findElement(AppiumBy.accessibilityId("返回")).click();
		Thread.sleep(2000);

		// 2点击讨论组
		driver.findElement(AppiumBy.accessibilityId("讨论组")).click();
		Thread.sleep(2000);

	}

	@Test
	public void myTest() throws InterruptedException {
		// 3点击“我的”
		TouchAction action3 = new TouchAction(driver);
		PointOption po3 = new PointOption();
		po3.withCoordinates(750, 1530);
		action3.tap(po3).perform().release();
		// 点击“注销”
		driver.findElement(AppiumBy.accessibilityId("注销")).click();
		Thread.sleep(2000);
		// 取消“注销”
		driver.findElement(AppiumBy.accessibilityId("取消")).click();
		Thread.sleep(2000);
		
//		//注销
//		driver.findElement(AppiumBy.accessibilityId("注销")).click();
//		Thread.sleep(4000);
//		//重新登录账户  
//		/**
//		 * 遗留问题:
//		 * !!是否可以重新选择登录的账户??
//		 */
//		driver.findElement(AppiumBy.accessibilityId("登录")).click();
//		Thread.sleep(3000);

		// 4点击查看当前登录的用户信息
		TouchAction action4 = new TouchAction(driver);
		PointOption po4 = new PointOption();
		po4.withCoordinates(553, 293);
		action4.tap(po4).perform().release();
		// 返回到“我的”页面
		driver.findElement(AppiumBy.accessibilityId("返回")).click();
		Thread.sleep(2000);

		// 5查看喧喧的相关信息
		driver.findElement(AppiumBy.accessibilityId("显示菜单")).click();
		Thread.sleep(2000);

		driver.findElement(AppiumBy.accessibilityId("关于")).click();
		Thread.sleep(2000);

		driver.findElement(AppiumBy.accessibilityId("关闭")).click();
		Thread.sleep(2000);
	}

	@Test
	public void chatTest() throws InterruptedException {
		// 6新建聊天
		TouchAction action5 = new TouchAction(driver);
		PointOption po5 = new PointOption();
		po5.withCoordinates(153, 1535);
		action5.tap(po5).perform().release();

		driver.findElement(AppiumBy.accessibilityId("创建聊天")).click();
		Thread.sleep(2000);

		// 选择刘紫仪
		TouchAction action6 = new TouchAction(driver);
		PointOption po6 = new PointOption();
		po6.withCoordinates(314, 311);// 第一个刘紫仪
		action6.tap(po6).perform().release();

		// 选择admin
		TouchAction action7 = new TouchAction(driver);
		PointOption po7 = new PointOption();
		po7.withCoordinates(306, 535);
		action7.tap(po7).perform().release();

		driver.findElement(AppiumBy.accessibilityId("创建")).click();
		Thread.sleep(2000);

		/**
		 * 遗留问题：
		 * !!无法使用className对搜索框进行定位并且输入内容??
		 */
		driver.findElement(AppiumBy.className("android.widget.EditText")).sendKeys("3人聊天组");
		Thread.sleep(2000);

		driver.findElement(AppiumBy.accessibilityId("创建")).click();
		Thread.sleep(2000);

		// 7查看刚刚创建的聊天组的成员列表
		driver.findElement(AppiumBy.accessibilityId("成员列表")).click();
		Thread.sleep(2000);

		driver.findElement(AppiumBy.accessibilityId("返回")).click();
		Thread.sleep(2000);

		driver.findElement(AppiumBy.accessibilityId("返回")).click();
		Thread.sleep(2000);

		// 搜索聊天
		driver.findElement(AppiumBy.accessibilityId("搜索")).click();
		Thread.sleep(2000);

		/**
		 * 遗留问题：
		 * !!无法使用className对搜索框进行定位并且输入内容??
		 */
		driver.findElement(AppiumBy.className("android.widget.EditText")).sendKeys("3");

		/**
		 * 遗留问题：
		 * !!无法回车进行搜索??
		 */
		driver.findElement(AppiumBy.accessibilityId("取消")).click();
		Thread.sleep(2000);

		// 8重命名聊天
		TouchAction action8 = new TouchAction(driver);
		PointOption po8 = new PointOption();
		po8.withCoordinates(300, 325);// 点击系统
		action8.tap(po8).perform().release();

		driver.findElement(AppiumBy.accessibilityId("显示菜单")).click();
		Thread.sleep(2000);

		driver.findElement(AppiumBy.accessibilityId("重命名")).click();
		Thread.sleep(2000);

		/**
		 * 遗留问题：
		 * !!无法使用className对搜索框进行定位并且输入内容??
		 */
		driver.findElement(AppiumBy.className("android.widget.EditText")).sendKeys("1");
		Thread.sleep(2000);

		driver.findElement(AppiumBy.accessibilityId("重命名")).click();
		Thread.sleep(2000);

		// 9取消收藏聊天
		TouchAction action9 = new TouchAction(driver);
		PointOption po9 = new PointOption();
		po9.withCoordinates(286, 477);// 点击第一个刘紫仪
		action9.tap(po9).perform().release();

		driver.findElement(AppiumBy.accessibilityId("取消收藏")).click();
		Thread.sleep(2000);

		driver.findElement(AppiumBy.accessibilityId("返回")).click();
		Thread.sleep(2000);
	}

}
